1. Field of the Invention
This invention relates to the distribution of a timing reference over a communications bus, and in particular to the inclusion in the signals on the bus of a phase reference signal.
2. Description of the Related Art
In many bus-based communication systems, it is desirable to be able to transmit data at a high data rate. However, it is also desirable to be able to communicate a relatively low frequency system timing reference, so that particular processes in the connected components can be synchronized to each other. For example, a 25 Hz timing reference is of value in some systems because it can be used to synchronize circuitry operating at all of the common digital audio sample rates; 8 kHz, 11.025 kHz, 12 kHz and their important power-of-two multiples. The timing reference can also form the basis of time-of-day information, which is important when rendering time-stamped data.
It is known in other situations that it is desirable to impose a relatively low-frequency timing reference onto a high data rate signal. However, in such systems, the clock frequency and the frame rate are generally convenient multiples of the timing reference frequency. For example, some telecoms buses have a bus clock frequency of 19.2 MHz and a data frame rate of 8 kHz. Such buses can be used to distribute a 25 Hz timing reference by dedicating one bit per frame to carry a phase reference signal. The phase reference signal can be generated by, for example, transmitting a binary “1” in the first frame of each timing reference period, and transmitting a binary “0” in the 319 remaining frames of each timing reference period.
In other situations, the frame rate does not have such a straightforward relationship with the timing reference frequency. For example, in the case of the proposed SLIMbus™ system, defined by MIPI Alliance, Inc., the clock frequency and hence the frame rate can take on a lot of different values. Many of the possible frame rates are not integer multiples of e.g. 25 Hz. This makes it impossible to use a simple signalling scheme such as the one described above.
A known way of augmenting the simple signalling schemes is to include more-detailed information about the timing of each reference event. In particular, the information can indicate the temporal position of each reference event relative to the data frames. However, this approach inherits a problem from the simple schemes, which is that its update rate is no greater than the timing reference frequency. For example, with a 25 Hz timing reference it can take 40 ms for a process to become synchronized.
There is a need for a flexible, fast, efficient way of distributing a timing reference over a communications bus.